<!DOCTYPE html>
<html lang="zh-cn">
    <head>
        <meta charset="UTF-8"/>
        <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0" />
        <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
        <title>Document</title>
        <style>
            * { box-sizing: border-box; }

            body {
              font-family: sans-serif;
            }

            select {
              font-size: 20px;
            }

            /* ---- isotope ---- */

            .grid {
              border: 1px solid #333;
            }

            /* clear fix */
            .isotope:after {
              content: '';
              display: block;
              clear: both;
            }

            /* ---- .element-item ---- */

            .element-item {
              position: relative;
              float: left;
              width: 100px;
              height: 100px;
              margin: 5px;
              padding: 10px;
              background: #888;
              color: #262524;
            }

            .element-item > * {
              margin: 0;
              padding: 0;
            }

            .element-item .name {
              position: absolute;

              left: 10px;
              top: 60px;
              text-transform: none;
              letter-spacing: 0;
              font-size: 12px;
              font-weight: normal;
            }

            .element-item .symbol {
              position: absolute;
              left: 10px;
              top: 0px;
              font-size: 42px;
              font-weight: bold;
              color: white;
            }

            .element-item .number {
              position: absolute;
              right: 8px;
              top: 5px;
            }

            .element-item .weight {
              position: absolute;
              left: 10px;
              top: 76px;
              font-size: 12px;
            }

            .element-item.alkali          { background: #F00; background: hsl(   0, 100%, 50%); }
            .element-item.alkaline-earth  { background: #F80; background: hsl(  36, 100%, 50%); }
            .element-item.lanthanoid      { background: #FF0; background: hsl(  72, 100%, 50%); }
            .element-item.actinoid        { background: #0F0; background: hsl( 108, 100%, 50%); }
            .element-item.transition      { background: #0F8; background: hsl( 144, 100%, 50%); }
            .element-item.post-transition { background: #0FF; background: hsl( 180, 100%, 50%); }
            .element-item.metalloid       { background: #08F; background: hsl( 216, 100%, 50%); }
            .element-item.diatomic        { background: #00F; background: hsl( 252, 100%, 50%); }
            .element-item.halogen         { background: #F0F; background: hsl( 288, 100%, 50%); }
            .element-item.noble-gas       { background: #F08; background: hsl( 324, 100%, 50%); }

        </style>
    </head>
    <body>
        <h1>Isotope - filtering with select</h1>

        <p>
        <select class="filters-select">
          <option value="*">show all</option>
          <option value=".metal">metal</option>
          <option value=".transition">transition</option>
          <option value=".alkali, .alkaline-earth">alkali and alkaline-earth</option>
          <option value=":not(.transition)">not transition</option>
          <option value=".metal:not(.transition)">metal but not transition</option>
          <option value="numberGreaterThan50">number > 50</option>
          <option value="ium">name ends with &ndash;ium</option>
        </select>
        </p>

        <div class="grid">
          <div class="element-item transition metal " data-category="transition">
            <h3 class="name">Mercury</h3>
            <p class="symbol">Hg</p>
            <p class="number">80</p>
            <p class="weight">200.59</p>
          </div>
          <div class="element-item metalloid " data-category="metalloid">
            <h3 class="name">Tellurium</h3>
            <p class="symbol">Te</p>
            <p class="number">52</p>
            <p class="weight">127.6</p>
          </div>
          <div class="element-item post-transition metal " data-category="post-transition">
            <h3 class="name">Bismuth</h3>
            <p class="symbol">Bi</p>
            <p class="number">83</p>
            <p class="weight">208.980</p>
          </div>
          <div class="element-item post-transition metal " data-category="post-transition">
            <h3 class="name">Lead</h3>
            <p class="symbol">Pb</p>
            <p class="number">82</p>
            <p class="weight">207.2</p>
          </div>
          <div class="element-item transition metal " data-category="transition">
            <h3 class="name">Gold</h3>
            <p class="symbol">Au</p>
            <p class="number">79</p>
            <p class="weight">196.967</p>
          </div>
          <div class="element-item alkali metal " data-category="alkali">
            <h3 class="name">Potassium</h3>
            <p class="symbol">K</p>
            <p class="number">19</p>
            <p class="weight">39.0983</p>
          </div>
          <div class="element-item alkali metal " data-category="alkali">
            <h3 class="name">Sodium</h3>
            <p class="symbol">Na</p>
            <p class="number">11</p>
            <p class="weight">22.99</p>
          </div>
          <div class="element-item transition metal " data-category="transition">
            <h3 class="name">Cadmium</h3>
            <p class="symbol">Cd</p>
            <p class="number">48</p>
            <p class="weight">112.411</p>
          </div>
          <div class="element-item alkaline-earth metal " data-category="alkaline-earth">
            <h3 class="name">Calcium</h3>
            <p class="symbol">Ca</p>
            <p class="number">20</p>
            <p class="weight">40.078</p>
          </div>
          <div class="element-item transition metal " data-category="transition">
            <h3 class="name">Rhenium</h3>
            <p class="symbol">Re</p>
            <p class="number">75</p>
            <p class="weight">186.207</p>
          </div>
          <div class="element-item post-transition metal " data-category="post-transition">
            <h3 class="name">Thallium</h3>
            <p class="symbol">Tl</p>
            <p class="number">81</p>
            <p class="weight">204.383</p>
          </div>
          <div class="element-item metalloid " data-category="metalloid">
            <h3 class="name">Antimony</h3>
            <p class="symbol">Sb</p>
            <p class="number">51</p>
            <p class="weight">121.76</p>
          </div>
          <div class="element-item transition metal " data-category="transition">
            <h3 class="name">Cobalt</h3>
            <p class="symbol">Co</p>
            <p class="number">27</p>
            <p class="weight">58.933</p>
          </div>
          <div class="element-item lanthanoid metal inner-transition " data-category="lanthanoid">
            <h3 class="name">Ytterbium</h3>
            <p class="symbol">Yb</p>
            <p class="number">70</p>
            <p class="weight">173.054</p>
          </div>
          <div class="element-item noble-gas nonmetal " data-category="noble-gas">
            <h3 class="name">Argon</h3>
            <p class="symbol">Ar</p>
            <p class="number">18</p>
            <p class="weight">39.948</p>
          </div>
          <div class="element-item diatomic nonmetal " data-category="diatomic">
            <h3 class="name">Nitrogen</h3>
            <p class="symbol">N</p>
            <p class="number">7</p>
            <p class="weight">14.007</p>
          </div>
          <div class="element-item actinoid metal inner-transition " data-category="actinoid">
            <h3 class="name">Uranium</h3>
            <p class="symbol">U</p>
            <p class="number">92</p>
            <p class="weight">238.029</p>
          </div>
          <div class="element-item actinoid metal inner-transition " data-category="actinoid">
            <h3 class="name">Plutonium</h3>
            <p class="symbol">Pu</p>
            <p class="number">94</p>
            <p class="weight">(244)</p>
          </div>
        </div>


        <script src="http://cdn.bootcss.com/jquery/1.10.2/jquery.min.js"></script>
        <script src="js/isotope.pkgd.min.js"></script>
        <script>
        // init Isotope
        var $grid = $('.grid').isotope({
          itemSelector: '.element-item',
          layoutMode: 'fitRows'
        });
        // filter functions
        var filterFns = {
          // show if number is greater than 50
          numberGreaterThan50: function() {
            var number = $(this).find('.number').text();
            return parseInt( number, 10 ) > 50;
          },
          // show if name ends with -ium
          ium: function() {
            var name = $(this).find('.name').text();
            return name.match( /ium$/ );
          }
        };
        // bind filter on select change
        $('.filters-select').on( 'change', function() {
          // get filter value from option value
          var filterValue = this.value;
          // use filterFn if matches value
          filterValue = filterFns[ filterValue ] || filterValue;
          $grid.isotope({ filter: filterValue });
        });
        </script>
    </body>
</html>